Some mobile devices (e.g., smart phones) include a haptic engine that is configured to provide a tactile feedback sensation such as a vibration or other physical sensation to a user touching or holding the mobile device. The haptic engine can be coupled to an input surface and one or more actuators, such as piezoelectric transducers, electromechanical devices, and/or other vibration inducing devices, that are mechanically connected to the input surface. Drive electronics coupled to the one or more actuators cause the actuators to induce a vibratory response into the input surface, providing a tactile sensation to a user touching or holding the device.
Some haptic engines include a mass positioned in a frame that moves or oscillates to induce a vibratory response. A transducer can be included in the frame that varies its output voltage in response to changes in a magnetic field as the mass moves within the frame. The output voltage can be used by a control application to determine displacement of the mass on a movement axis. The control application estimates the displacement to avoid a crash and to minimize variations over a population of haptic engines. The displacement can be estimated by integrating a back electromotive force (EMF) voltage which provides an approximation of the mass velocity. This back EMF method, however, is prone to errors in coil resistance estimation and the inability of the control application to sense a low-velocity drift caused by load disturbances (e.g., a user moving the mobile device).